#define xuser mixc::powerful_cat
#include"lang/cxx/ignore_case.hpp"
#include"lang/cxx/index_of_prefix.hpp"
#include"lang/cxx.hpp"
#include"mixc.hpp"
#include"utils/counter.hpp"

xinit(xuser::the_main){
    using namespace xuser;
    counter demo = 0;

    // 演示：匹配 pattern 列表中任意一个前缀
    {
        xhint(demo);

        c08 str = "Hello world";

        // index = 1，这个 index 是 { 'h', 'H' } 这个 pattern 列表匹配的 index
        // 'H' 的 index = 1
        xhint(str.index_of_prefix({ 'h', 'H' }));

        // 没有匹配的前缀，index = not_exist
        xhint(str.index_of_prefix({ 'h', 'm' }));

        // "Hello " 匹配 index = 0
        xhint(str.index_of_prefix({ "Hello ", "Hi " }));

        // 忽略大小写，"hellO " 匹配 index = 0
        xhint(str.index_of_prefix({ "hellO ", "Hi " }, ignore_case<char>));
    }
};
